main(List<String> args) {
  // 1. 明确的声明
  String c1 = '明确的声明';
  print(c1);
  // 2. 类型推导
  // var  JS里面的let
  var age = 20; // 这里也是有类型的 不能改变类型
  print(age);
  // final 常量 JS的const  ( 可以通过计算获取的常量 )
  final height = 1.88;
  print(height);
  // const 声明常量 ( 需要一个确定的值 )
  const width = '500kg';
  print(width);

  // ----------------
  // final date1 = DateTime.now(); const 并不能用

  // dart 2 开始 创建类可以省略new
  final p1 = new Person('biu');
  final p2 = new Person('qwasd');
  // identical 判断2个对象是不是同一个对象
  print(identical(p1, p2)); // false

// 这里可以省略const  ( 这里不知道为什么跑不起来 可能是因为dart sdk 版本问题 )
  // const c01 =const PersonConst('ccc');
  // const c02 =const PersonConst('ccc');
  // print(identical(c01, c02)); // true

  // dynamic/Object ( dynamic 是 any )
}

// 定义一个类
class Person {
  String name;
  // 构造函数
  Person(String name) {
    this.name = name;
  }
}

// 定义一个给const初始化的类
// class PersonConst {
//   final String name; // const的话这里必须用final
//   const PersonConst(this.name)
// }
